In various situations it is desirable to trace the route that a packet travels from a source node to a destination node, such as, but not limited to, troubleshooting when packets are not arriving at the destination, testing new network configurations, checking end to end routes, multi domain routes, or for building a routing table, etc. Typical route trace procedures require at least one message for each node in the path from the source node to the destination node plus one packet for the destination node itself.